package com.example.sqliteviewer;

/**
 * 表示数据库表中列的信息
 */
public class ColumnInfo {
    private String cid;        // 列序号
    private String name;       // 列名
    private String type;       // 数据类型
    private String notNull;    // 是否可为空 (1表示不可为空，0表示可为空)
    private String dfltValue;  // 默认值
    private String pk;         // 是否为主键 (1表示是主键，0表示不是)

    public ColumnInfo() {
    }

    public ColumnInfo(String cid, String name, String type, String notNull, String dfltValue, String pk) {
        this.cid = cid;
        this.name = name;
        this.type = type;
        this.notNull = notNull;
        this.dfltValue = dfltValue;
        this.pk = pk;
    }

    public String getCid() {
        return cid;
    }

    public void setCid(String cid) {
        this.cid = cid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNotNull() {
        return notNull;
    }

    public void setNotNull(String notNull) {
        this.notNull = notNull;
    }

    public String getDfltValue() {
        return dfltValue;
    }

    public void setDfltValue(String dfltValue) {
        this.dfltValue = dfltValue;
    }

    public String getPk() {
        return pk;
    }

    public void setPk(String pk) {
        this.pk = pk;
    }

    /**
     * 检查该列是否为主键
     * @return 如果是主键返回true，否则返回false
     */
    public boolean isPrimaryKey() {
        return "1".equals(pk);
    }

    /**
     * 检查该列是否不可为空
     * @return 如果不可为空返回true，否则返回false
     */
    public boolean isNotNull() {
        return "1".equals(notNull);
    }
}